Logovani vyjimek

Otázka od: Ludek Finstrle

14. 6. 2004 19:19

Ahoj,

  mam nasledujici dotaz. Potreboval bych osetrit logovani jakekoli vyjimky
do log souboru a nechce se mi vsude psat:

try
...
except
  on E : Exception do
    log(...,E.Message,...)
  ...
end;

ci jeste hure

try
try
...
except
  on E : Exception do
    begin
      log(...);
      raise;
    end;
  ...
end;
finally
  ...
end;

Neresil jste nekdo podobny problem? Jde to vubec nejak elegantne vyresit?

Predem dik za jakekoli nakopnuti

Luf

Odpovedá: Jakub Dusek

14. 6. 2004 19:22

Neosetrene vyjimky jdou odchytnout v udalosti Application.OnException.

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Monday, June 14, 2004, 8:11:58 PM, you wrote:

LF> Ahoj,

LF> mam nasledujici dotaz. Potreboval bych osetrit logovani jakekoli vyjimky
LF> do log souboru a nechce se mi vsude psat:

LF> try
LF> ...
LF> except
LF> on E : Exception do
LF> log(...,E.Message,...)
LF> ...
LF> end;

LF> ci jeste hure

LF> try
LF> try
LF> ...
LF> except
LF> on E : Exception do
LF> begin
LF> log(...);
LF> raise;
LF> end;
LF> ...
LF> end;
LF> finally
LF> ...
LF> end;

LF> Neresil jste nekdo podobny problem? Jde to vubec nejak elegantne vyresit?

LF> Predem dik za jakekoli nakopnuti

LF> Luf



Odpovedá: Jan Rizek

18. 6. 2004 14:21

a v te udalosti pouzijte toto.. pouzijte JCL

var
  S : TJclStackInfoList;
  SL: TStringList;
begin
 {logovani chyb}
  S:= JclCreateStackList(true, 0, nil);

  SL:= TStringList.create;
  try
  S.AddToStrings(SL, true, false, true);

   - -- - - v SL budete mi callstack ...

> Neosetrene vyjimky jdou odchytnout v udalosti Application.OnException.
>
> Jakub Dusek
> ----------------------------------------------------------------------
> web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
> odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
> => Sms GateKeeper, Sms GateKeeper Service
>
> ======================================================================
> Monday, June 14, 2004, 8:11:58 PM, you wrote:
>
> LF> Ahoj,
>
> LF> mam nasledujici dotaz. Potreboval bych osetrit logovani jakekoli
vyjimky
> LF> do log souboru a nechce se mi vsude psat:
>
> LF> try
> LF> ...
> LF> except
> LF> on E : Exception do
> LF> log(...,E.Message,...)
> LF> ...
> LF> end;
>
> LF> ci jeste hure
>
> LF> try
> LF> try
> LF> ...
> LF> except
> LF> on E : Exception do
> LF> begin
> LF> log(...);
> LF> raise;
> LF> end;
> LF> ...
> LF> end;
> LF> finally
> LF> ...
> LF> end;
>
> LF> Neresil jste nekdo podobny problem? Jde to vubec nejak elegantne
vyresit?
>
> LF> Predem dik za jakekoli nakopnuti
>
> LF> Luf
>
>
>
>
>
>